home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 24 / AMIGAplus Sonderheft 24 (2000)(Falke)(DE)[!].iso / PublicDomain / Anwendungen / MT-RechnungIII / Rexx / WWArtikelüber.artrexx < prev    next >
Text File  |  1998-08-28  |  3KB  |  153 lines

  1. /*
  2. ** Druck-, Vorschau, Sichern der Artikelübersicht mit Hilfe von WordWorth
  3. ** $VER: WWArtikelüber.artrexx V1.00 (29.08.98)
  4. */
  5.  
  6. PARSE ARG ARexxPort;
  7.  
  8. ADDRESS VALUE ARexxPort;
  9. OPTIONS RESULTS;
  10.  
  11. WWVorlage    = "WWDokumente/Artikelübersicht.ww";
  12. WWDokument    = "t:Artikelübersicht.ww";
  13. WWPort        = "WORDWORTH."
  14.  
  15. LF                    = '0a'x;                            /* Zeilenvorschub                */
  16.  
  17. Gefunden = 0;
  18. DO i = 1 TO 20 WHILE(Gefunden = 0)
  19.     IF show(ports, (WWPort || i)) THEN
  20.         DO;
  21.             Gefunden = 1;
  22.             WWPort = WWPort || i;
  23.         END;
  24. END;
  25.  
  26. IF Gefunden = 0 THEN
  27.     DO;
  28.         ES_TITLE                = "Warnung";
  29.         ES_TEXTFORMAT        = "WordWorth ist nicht aktiv, bitte starten sie dieses" || LF || "und versuchen Sie es erneut";
  30.         ES_GADGETFORMAT    = "Abbrechen";
  31.         EASY_REQUEST;
  32.         EXIT;
  33.     END;
  34.  
  35. /* Original WW-Dokument nach t: kopieren, um ein versehentliches überschreiben */
  36. /* dieser Vorlage zu verhindern */
  37. GET_REXXPATH;
  38. WWVorlage        = MTR_RESULT || WWVorlage;
  39. ADDRESS COMMAND "copy" WWVorlage WWDokument;
  40.  
  41. /* Oberfläche sperren */
  42. LOCKGUI;
  43.  
  44. /* Art ermitteln: 0 = Drucken, 1 = Vorschau, 2 = Speichern */
  45. PRINTSTATE;
  46. Druckart = MTR_RESULT;
  47.  
  48. Ende_Kennzeichen = 'N';
  49.  
  50. /* Suchen der zu druckenden Daten */
  51. GET_PREFS;
  52. PRINTFIND;
  53.  
  54. /* Neues Dokument öffnen */
  55. ADDRESS VALUE WWPort;
  56. NEW;
  57. WWPort = RESULT;
  58.  
  59. IF (MTR_RESULT > 0 & Ende_Kennzeichen = 'N') THEN
  60.     DO;
  61.         CALL DatenAufbereiten;
  62.         SELECT;
  63.             WHEN Druckart = 0 THEN    /* Drucken    */
  64.                 DO;
  65.                     ADDRESS VALUE WWPort;
  66.                     PRINT;
  67.                     ADDRESS VALUE ARexxPort;
  68.                     MTSCREENTOFRONT;
  69.                 END;
  70.             WHEN Druckart = 1 THEN    /* Vorschau    */
  71.                 ADDRESS VALUE ARexxPort;
  72.             WHEN Druckart = 2 THEN    /* Sichern    */
  73.                 DO;
  74.                     ADDRESS VALUE WWPort;
  75.                     SAVEAS;
  76.                     ADDRESS VALUE ARexxPort;
  77.                     MTSCREENTOFRONT;
  78.                 END;
  79.             OTHERWISE
  80.                 DO;
  81.                     ES_TITLE                = "Warnung";
  82.                     ES_TEXTFORMAT        = "Druckart wird nicht unterstützt!";
  83.                     ES_GADGETFORMAT    = "Ok";
  84.                     EASY_REQUEST;
  85.                     Ende_Kennzeichen    = 'J';
  86.                 END;
  87.         END;
  88.     END;
  89.  
  90. /* WordWorth-Datei aus t: wieder entfernen */
  91. ADDRESS COMMAND "delete" WWDokument;
  92.  
  93. /* Oberfläche wieder entsperren */
  94. ADDRESS VALUE ARexxPort;
  95. FREEGUI;
  96.  
  97. EXIT;
  98.  
  99. DatenAufbereiten:
  100.  
  101.     ADDRESS VALUE WWPort;
  102.     OPEN FILENAME WWDokument FORCE;
  103.     POSITION SOF;
  104.     SHIFTDOWN;
  105.     LINE 2;
  106.     SHIFTUP;
  107.     CUT;
  108.  
  109.     ADDRESS VALUE ARexxPort;
  110.  
  111.     DO WHILE( MTR_RESULT > 0 & Ende_Kennzeichen = 'N');
  112.         IF PREFS.NUMBER_DIGITS > 0 THEN
  113.             ZW_Nummer = RIGHT( (Copies("0",PREFS.NUMBER_DIGITS) || MTR_RESULT), PREFS.NUMBER_DIGITS );
  114.         ELSE
  115.             ZW_Nummer = MTR_RESULT;
  116.  
  117.         IF ADDRESS.COMPANY1 > "" THEN
  118.             ZW_Name = SUPPLIER.ADDRESS.COMPANY1;
  119.         ELSE
  120.             ZW_Name = SUPPLIER.ADDRESS.PRENAME SUPPLIER.ADDRESS.SURNAME;
  121.  
  122.         NAME_OF_QUANTITY_UNIT ARTICLE.QUANTITY_UNIT;
  123.         ZW_Einheit        = MTR_RESULT;
  124.  
  125.         i = ARTICLE.VALUE_USED;
  126.         FORMAT_NUMBER PREFS.VALUEPERCENT.i PREFS.FRAC_DIGITS_PERCENT;
  127.         ZW_MWSt = MTR_RESULT;
  128.  
  129.         i = PREFS.CURRENCY_USED;
  130.         IF i > 1 THEN
  131.             FORMAT_MONEY2 ARTICLE.PRICE.0.i;
  132.         ELSE
  133.             FORMAT_MONEY1 ARTICLE.PRICE.0.i;
  134.         ZW_Preis = MTR_RESULT;
  135.  
  136.         ADDRESS VALUE WWPort;
  137.         POSITION EOF;
  138.         PASTE;
  139.  
  140.         POSITION SOF;
  141.         FINDCHANGE FIND "<NR>" CHANGE ZW_Nummer;
  142.         FINDCHANGE FIND "<NR2>" CHANGE ARTICLE.NUMBER2;
  143.         FINDCHANGE FIND "<DESCRIPTION>" CHANGE ARTICLE.DESCRIPTION;
  144.         FINDCHANGE FIND "<QU>" CHANGE ZW_Einheit;
  145.         FINDCHANGE FIND "<VAL>" CHANGE ZW_MWSt;
  146.         FINDCHANGE FIND "<PRICE>" CHANGE ZW_Preis;
  147.  
  148.         ADDRESS VALUE ARexxPort;
  149.         PRINTFIND;
  150.     END;
  151. RETURN;
  152.  
  153.